In existing video program distribution networks, a channel change request (for switching between television channels) initiated by a user at a client device may be communicated from the client device to a video server that is the source of the television channels. In response to the channel change request, the video server identifies the requested television channel and begins streaming the video program shown on the requested television channel. Due to network delay associated with the propagation of the channel change request from the client device to the video server, as well as network delay associated with distribution of the video stream of the requested channel from the video server to the client device, the user experiences a delay (known as a “zapping” delay) before the program associated with the requested television channel is presented to the user. This delay is exacerbated when the user switches between television channels in rapid succession.
In an attempt to reduce the delay experienced by users during channel change operations, some video program providers cache video content within the video program distribution network. Disadvantageously, however, network caching solutions provide only slight improvements in the delay experienced by the user during a channel change operation. Furthermore, such network caching solutions are expensive in terms of the network storage required to cache numerous video programs, as well as in terms of network resources consumed in continuously updating the video content cached within the video program distribution network, and are not tailored to the preferences of the individual users. Moreover, other solutions that attempt to reduce the delay experienced by users during channel change operations also provide only slight improvements in the delay experienced by the user during a channel change operation.